package com.ruoyi.system.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 领料单对象 mes_material_requisition
 * 
 * @author ruoyi
 * @date 2024-11-14
 */
public class MesMaterialRequisition extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @Excel(name = "编号")
    private Long id;

    /** 流水号 */
    @Excel(name = "流水号")
    private String serialNo;

    /** 生产计划id */
    @Excel(name = "生产计划id")
    private Long planId;

    /** 计划排产id */
    @Excel(name = "计划排产id")
    private Long scheduleId;

    /** 产品id */
    @Excel(name = "产品id")
    private Long productId;

    /** 领取日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "领取日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date requisitionDate;

    /** 申请人 */
    @Excel(name = "申请人")
    private String applyUser;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 申请状态 */
    @Excel(name = "申请状态")
    private String applyStatus;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditUser;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String auditStatus;

    /** 审核意见 */
    private String auditComment;

    /** 状态 */
    @Excel(name = "状态")
    private String status;
private  String nickName;

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getNickName() {
        return nickName;
    }

    /** 领料单物料明细信息 */
    private List<MesMaterialRequisitionDetail> mesMaterialRequisitionDetailList;
    private List<WmsMaterialInfo> wmsMaterialInfoList;

    public void setWmsMaterialInfoList(List<WmsMaterialInfo> wmsMaterialInfoList) {
        this.wmsMaterialInfoList = wmsMaterialInfoList;
    }

    public List<WmsMaterialInfo> getWmsMaterialInfoList() {
        return wmsMaterialInfoList;
    }
    private List<MesProductPlan> mesProductPlans;

    public List<MesProductPlan> getMesProductPlans() {
        return mesProductPlans;
    }

    public void setMesProductPlans(List<MesProductPlan> mesProductPlans) {
        this.mesProductPlans = mesProductPlans;
    }
    private  List<MesProductSchedule> mesProductSchedules;

    public void setMesProductSchedules(List<MesProductSchedule> mesProductSchedules) {
        this.mesProductSchedules = mesProductSchedules;
    }

    public List<MesProductSchedule> getMesProductSchedules() {
        return mesProductSchedules;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSerialNo(String serialNo) 
    {
        this.serialNo = serialNo;
    }

    public String getSerialNo() 
    {
        return serialNo;
    }
    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }
    public void setScheduleId(Long scheduleId) 
    {
        this.scheduleId = scheduleId;
    }

    public Long getScheduleId() 
    {
        return scheduleId;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setRequisitionDate(Date requisitionDate) 
    {
        this.requisitionDate = requisitionDate;
    }

    public Date getRequisitionDate() 
    {
        return requisitionDate;
    }
    public void setApplyUser(String applyUser) 
    {
        this.applyUser = applyUser;
    }

    public String getApplyUser() 
    {
        return applyUser;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setApplyStatus(String applyStatus) 
    {
        this.applyStatus = applyStatus;
    }

    public String getApplyStatus() 
    {
        return applyStatus;
    }
    public void setAuditUser(String auditUser) 
    {
        this.auditUser = auditUser;
    }

    public String getAuditUser() 
    {
        return auditUser;
    }
    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }
    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }
    public void setAuditComment(String auditComment) 
    {
        this.auditComment = auditComment;
    }

    public String getAuditComment() 
    {
        return auditComment;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public List<MesMaterialRequisitionDetail> getMesMaterialRequisitionDetailList()
    {
        return mesMaterialRequisitionDetailList;
    }

    public void setMesMaterialRequisitionDetailList(List<MesMaterialRequisitionDetail> mesMaterialRequisitionDetailList)
    {
        this.mesMaterialRequisitionDetailList = mesMaterialRequisitionDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("serialNo", getSerialNo())
            .append("planId", getPlanId())
            .append("scheduleId", getScheduleId())
            .append("productId", getProductId())
            .append("requisitionDate", getRequisitionDate())
            .append("applyUser", getApplyUser())
            .append("applyTime", getApplyTime())
            .append("applyStatus", getApplyStatus())
            .append("auditUser", getAuditUser())
            .append("auditTime", getAuditTime())
            .append("auditStatus", getAuditStatus())
            .append("auditComment", getAuditComment())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("mesMaterialRequisitionDetailList", getMesMaterialRequisitionDetailList())
            .toString();
    }
}
